package com.otitan.forest.right.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.otitan.forest.right.dto.StatisticsDto;
import com.otitan.forest.right.entity.BssAuditRecordsEntity;
import com.otitan.forest.right.entity.BssForestRightInfoEntity;
import com.otitan.webapp.framework.basepro.model.DataResult;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 林权证登记
 *
 * @author xiazw
 * @email *****@mail.com
 * @date 2020-08-04 14:19:43
 */
public interface BssForestRightInfoService extends IService<BssForestRightInfoEntity> {
    DataResult dealWith(BssAuditRecordsEntity entity);

    /**
     * 根据 ids 查询数据
     *
     * @param [ids]
     * @return java.util.List<com.otitan.forest.right.entity.BssForestRightInfoEntity>
     * @throws
     * @author jiachangsen
     * @date 2020/08/06 16:35
     */
    List<BssForestRightInfoEntity> findItemsByIds(List<String> ids);

    /**
     * 进度情况统计接口
     *
     * @param []
     * @return com.otitan.webapp.framework.basepro.model.DataResult
     * @throws
     * @author jiachangsen
     * @date 2020/08/06 19:08
     */
    DataResult progressStatistics(StatisticsDto dto);

    /**
     * 查询分页数据
     *
     * @param [entity]
     * @return com.otitan.webapp.framework.basepro.model.DataResult
     * @throws
     * @author jiachangsen
     * @date 2020/08/07 11:14
     */
    DataResult findListByPage(BssForestRightInfoEntity entity);

    /**
     * 批量导入
     *
     * @param [file]
     * @return com.otitan.webapp.framework.basepro.model.DataResult
     * @throws
     * @author jiachangsen
     * @date 2020/08/11 11:23
     */
    DataResult batchImportFile(MultipartFile file);

    /**
     * 根据ID查询
     *
     * @param [id]
     * @return com.otitan.webapp.framework.basepro.model.DataResult
     * @throws
     * @author wangqs
     */
    List<BssAuditRecordsEntity> findRecordsById(String id);


    void download(BssForestRightInfoEntity entity, HttpServletResponse httpServletResponse) throws IOException;

    /**
     * 新增
     * @author jiachangsen
     * @param [bssForestRightInfo]
     * @return com.otitan.webapp.framework.basepro.model.DataResult
     * @exception
     * @date 2020/08/13 15:58
     */
    DataResult add(BssForestRightInfoEntity bssForestRightInfo);

    DataResult changeData(BssForestRightInfoEntity bssForestRightInfo);

    DataResult syncLqData(String uuid);

    /**
     * 导出压缩包
     * @author jiachangsen
     * @param [entity, httpServletResponse]
     * @return void
     * @exception
     * @date 2020/09/02 10:55
     */
    void exportZip(BssForestRightInfoEntity entity, HttpServletResponse httpServletResponse);



    /**
     * mdb文件下载
     * @author wangqingsong
     * @param [entity, httpServletResponse]
     * @return void
     * @exception
     * @date 2020/09/07 17:17
     */
    void exportMdb(HttpServletResponse response, BssForestRightInfoEntity bssForestRightInfoEntity);




    /**
     * mdb文件下载
     * @author wangqingsong
     * @param [MultipartFile]
     * @return DataResult
     * @exception
     * @date 2020/09/07 17:21
     */
    DataResult uploadMdb(MultipartFile file);
}

